An increasing number of portable computer devices are available in the market. These devices include handheld or pocket sized computers, phones and personal digital assistants of various form factors and capabilities. As the computing power and memory capabilities of the handheld devices increase, users are demanding access to more powerful software applications.
Given the multitude of variations of interfaces, screen sizes, and resolutions among the handheld devices, it can be very difficult for a programmer to ensure that a particular chosen graphical user interface (GUI) of the handheld will appear and work correctly on multiple devices. For example, the display and functionality of the target handheld device is often not well reflected in the capabilities of the development system.
Typically, programmers of handheld devices alternate between first programming on a desktop development system and then running the newly developed software on an emulator of the handheld device, or the actual device, to see if the handheld GUI operates as expected. This can be time consuming and inefficient, especially if a programmer wishes to port the application to a wide variety of portable devices. In one aspect of programming, the typical development environment may allow a handheld device programmer to generate a function, such as a handheld menu, which cannot be realized in a controllable fashion in the target handheld device.
Thus, there is a need for a “what you see is what you get” (WYSIWYG) development system for a handheld device which properly emulates the target handheld device such that the software look and feel of the target handheld device can be emulated on a single development system. It would also be advantageous if the development system could be extensible so that it can work with future devices. The present invention addresses the aforementioned needs and solves them with additional advantages as expressed herein.